#include "GY_CheckBox.h"
#include <QDebug>

GY_CheckBox::GY_CheckBox(QWidget *parent) : QCheckBox(parent)
{
    setText("GY_CheckBox");///< 设置默认控件名称

    m_GY_CheckBoxGroupId=-1;///< 设置默认组号为-1

    m_GY_CheckBoxJoinGroupState=false;///< 默认组状态为未加入组

    m_GY_CheckBoxChoiceModel=false;///< 默认选择默认为多选

    m_GY_CheckBoxJoinGroupState=false;///< 默认未加入组

    ///< 被点击则更改属性
    connect(this,&GY_CheckBox::clicked,this,[=](){
        if(this->isChecked())
        {
            m_GY_CheckBoxState=true;
        }
        else
        {
            m_GY_CheckBoxState=false;
        }
    });
}

GY_CheckBox::~GY_CheckBox()
{

}

void GY_CheckBox::setGY_CheckBoxID(int ID)///< 设置复选框ID
{
    m_GY_CheckBoxID=ID;
}

int GY_CheckBox::getGY_CheckBoxID()///< 获取复选框ID
{
    return m_GY_CheckBoxID;
}

void GY_CheckBox::setGY_CheckBoxGroupID(const int groupId)///< 设置组ID
{
    if(m_GY_CheckBoxJoinGroupState==true)///< 为加入组状态才可以设置组id
        m_GY_CheckBoxGroupId=groupId;
    //qDebug()<<"组id为:"<<m_GY_CheckBoxGroupId;
}

int GY_CheckBox::getGY_CheckBoxGroupID()///< 获取组ID
{
    return m_GY_CheckBoxGroupId;
}

void GY_CheckBox::setGY_CheckBoxState(bool stata)///< 设置勾选框状态  默认为false(未选中)   true为选中
{
    if(stata==true)
    {
        setCheckState(Qt::Checked);
        m_GY_CheckBoxState=true;///< 选中更改状态为true
    }
    else
    {
        setCheckState(Qt::Unchecked);
        m_GY_CheckBoxState=false;///< 选中更改状态为false
    }
}

bool GY_CheckBox::getGY_CheckBoxState() ///< 获取复选框状态  true表示选中  false表示未选中
{
    if(this->isChecked())
        return true;
    else
        return false;
}

void GY_CheckBox::setGY_CheckBoxChoiceModel(bool model)///< 设置选择模式  true同组可多选  默认false同组只能选择一个
{
    m_GY_CheckBoxChoiceModel=model;
}

void GY_CheckBox::setGY_CheckBoxJoinGroupState(bool joinState)
{
    m_GY_CheckBoxJoinGroupState=joinState;
}

